The present invention relates to a method for synchronizing a receiver with a transmitted code-modulated spread spectrum signal, in which method at least one reference code (r(x)) is used, the reference code corresponding to a code used in the modulation, a frequency shift of the transmitted signal and a code phase of the code used in the modulation is determined, a receiver which comprises at least a synchronization means for synchronizing the receiver (1) with a transmitted code-modulated spread spectrum signal, the receiver (1) having means (16) for using at least one reference code (r(x)) in connection with synchronization, which reference code (r(x)) corresponds to a code used in the modulation, and means (15) for determining a frequency shift and a code phase of the code used in the modulation, and an electronic device which comprises at least a positioning receiver (1), synchronization means for synchronizing the positioning receiver (1) to a transmitted code-modulated spread spectrum signal, the positioning receiver (1) having means (16) for using at least one reference code (r(x)) in connection with the synchronization, the reference code (r(x)) corresponding to a code used in the modulation, and the electronic device comprising means (15) for determining the frequency shift of the transmitted signal and the code phase of the code used in the modulation.
The GPS system (Global Positioning System) is a well known positioning system, which comprises over 30 satellites, of which a maximum of 12 satellites are simultaneously visible to a receiver. These satellites transmit various information, such as Ephemeris data and clock data parameters which describe the satellite clock and its relationship to GPS time. Normally, the receiver used in positioning determines its location by calculating the transit time of signals transmitted simultaneously from several satellites of the positioning system to the receiver. To determine its location, the receiver must typically receive the signal of at least four visible satellites in order to be able to calculate the location.
Each operational satellite of the GPS system transmits a so-called L1 signal at a carrier frequency of 1575.42 MHz. This frequency is also denoted 154f0, where f0=10.23 MHz. In addition, the satellites transmit an L2 signal at a carrier frequency of 1227.6 MHz, that is 120f0. In the satellite, these signals are modulated with at least one pseudo-random sequence. Each satellite has a different pseudo-random sequence. As a result of modulation, a code modulated wideband signal is formed. This modulation technique makes it possible for the receiver to distinguish between signals transmitted by different satellites, despite the fact that the carrier frequencies used in the transmission are essentially the same. This modulation technique is called Code Division Multiple Access (CDMA). One of the pseudo-random sequences used in each satellite for the modulation of the L1 signal is so-called C/A code (Coarse/Acquisition code), which is so-called-Gold code. Each GPS satellite transmits a signal using a unique C/A code. The codes are formed as the modulo 2 sum of two 1023-bit binary sequences. The first binary sequence G1 is formed using the polynomial X10+X3+1, and the second binary sequence G2 is formed by delaying the polynomial X10+X9+X8+X6+X3+X2+1 so that each satellite has a different delay. This arrangement enables the generation of different C/A codes with a similar code generator. The C/A codes are binary codes, the chipping rate of which in the GPS system is 1.023 MHz. The C/A code comprises 1023 chips, which means that the repetition time of the code is 1 ms. The carrier wave of the L1 signal is further modulated with navigation information at a bit rate of 50 bit/s. The navigation information comprises information about the “health” of the satellite, its orbit and clock data parameters, etc. Each satellite of the GPS system maintains a local time by e.g. atomic clocks.
During operation, the satellites monitor the condition of their equipment during operation. For example, satellites can use so-called watch-dog functions to detect faults in the equipment and provide notification about them. Errors and malfunctions can be either momentary or long-term in nature. On the basis of the health information, some of the errors can be possibly compensated for, or the information transmitted by a malfunctioning satellite can be ignored entirely. In addition, in a situation in which the signals of more than four satellites can be received, information received from different satellites can be weighted in different ways on the basis of the health information. Thus it is possible to minimize errors that satellites which seem to be unreliable may cause in the measurements.
In order to detect the satellite signals and to identify the satellites, the receiver must perform a synchronization operation, in which the receiver searches for the signal of each satellite and tries to synchronize with the signal so that the data transmitted with the signal can be received and demodulated.
In prior art receivers, the time required for this synchronization operation depends among other things on the strength of the received signal. Typically, the weaker the signal to be received, the longer each element of the search space (correlation/frequency) must be integrated in order to detect a possible signal. In prior art GPS receivers, which are typically designed for outdoor use, synchronization with the satellite signals takes some tens of seconds or a few minutes, if the received signal is relatively strong, e.g. in the range of −120 to −130 dBm. However, if positioning is to take place indoors or in a place where the received signal is attenuated by buildings or other obstacles in the terrain, the synchronization time increases substantially. Indoors the signal strength is typically approx. −150 dBm, whereby the time needed for synchronization using a sequential search would be hours. This time is clearly too long for performing a reasonable positioning. FIG. 2a illustrates, by way of example, a CDMA signal transmitted from a satellite, and correspondingly FIG. 2b illustrates this transmitted signal when it reaches the receiver. The signal to be received has been attenuated substantially on the transmission link, and it contains accumulated noise.
The positioning receiver must perform synchronization when, for example, the receiver is switched on, and also in a situation where the receiver has not been able to receive the signal of any satellite for a long time. A situation like this can easily arise in mobile devices, for example, because the device moves and the antenna of the device is not always in an optimal position in relation to the satellites, which weakens the strength of the signal arriving at the receiver. In urban areas, buildings also have an effect on the received signal, and in addition, can cause so-called multipath propagation in which the transmitted signal arrives at the receiver via several different routes, for example straight from the satellite (line-of-sight) and also reflected from buildings. As a result of this multipath propagation, the same signal is received as several signals with different phases.
The positioning system has two main functions:                1. calculating the pseudo range of the receiver to different GPS satellites, and        2. determining the location of the receiver using the calculated pseudo ranges and the satellite position information. At any given time the satellite position information can be calculated on the basis of the ephemeris data and time correction information received from the satellites.        
The distances to the satellites are called pseudo ranges, since the time is not known accurately in the receiver. In that case the determination of location and time is repeated, until a sufficient accuracy of time and a sufficient accuracy of location has been achieved. Since the time is not known with absolute accuracy, the location and time must be determined by linearizing a set of equations for each new iteration.
The calculation of the pseudo range can be performed by measuring the average apparent transit times of the different satellite signals. After the receiver has synchronized with the received signal, the information transmitted in the signal is demodulated.
Almost all known GPS receivers use correlation methods for calculating the ranges. The pseudo random sequences of different satellites are stored or are generated locally in the positioning receiver. A down conversion is performed on the received signal, whereafter the receiver multiplies the received signal with the stored (or locally generated) pseudo random sequence. The signal formed as the result of the multiplication is integrated or low-pass filtered, whereby the result indicates whether the received signal contains a signal transmitted by a satellite. The multiplication carried out in the receiver is repeated so that each time the phase of the pseudo random sequence saved in the receiver is shifted. The correct phase is estimated from the correlation result preferably in such a way that when the correlation result is the highest, the correct phase has been found. In this way the receiver is correctly synchronized with the received signal.
After synchronization with the code has been performed, the frequency is fine tuned and phase locking is carried out. The correlation result also reveals the information transmitted in the GPS signal, which means that it is a demodulated signal.
The above mentioned synchronization and frequency adjustment process must be repeated for each satellite signal received at the receiver. Therefore, this process consumes a lot of time especially in a situation where the received signals are weak. In some prior art receivers, several correlators are used in order to accelerate this process, whereby more correlation peaks can be searched for simultaneously. In practical applications, it is not possible to accelerate the synchronization and frequency adjustment process very much by simply increasing the number of correlators, because thir number cannot be increased indefinitely.
Some prior art GPS receivers use an FFT technique to determine the doppler shift of the received GPS signal in connection with ordinary correlators. In these receivers, correlation is used to reduce the bandwidth of the received signal to 10 kHz-30 kHz. This narrow-band signal is analyzed using FFT algorithms to determine the carrier frequency.
A GPS receiver and a method for processing GPS signals are presented in international patent application WO 97/14057. Principally, the receiver presented in this publication comprises two separate receivers, of which the first receiver is intended for use in a situation where the received signal strength is sufficient, and the second receiver is intended for use in a situation where the received signal strength is insufficient to perform a sufficiently accurate determination of position using the first receiver. In the second receiver, the received signal is digitized and stored in a memory means, whereby these stored signals are later processed in a digital signal processing unit. The digital signal processing unit performs convolution operations on the received, digitized signal. The purpose of these convolution operations is to calculate pseudo ranges. The number of code sequences (PM frames) stored in the memory means typically ranges from one hundred to thousand, which corresponds to a signal having a length of 100 ms to 1 s. After this, a stored code corresponding to the code of a satellite to be examined is retrieved from the memory of the receiver to be used in the analysis of the received signal.
The Doppler shift is also removed in the receiver. The amount of Doppler shift is determined using either the first receiver or on the basis of information received from a base station of the GPS system. After this, consecutive frames are coherently summed. A fast Fourier transform is performed on the data set produced as the result of this summing. A multiplication is performed on the Fourier transform result, using the complex conjugate of the Fourier transform of the reference signal stored in the memory means. An inverse Fourier transformis further performed on the result of this multiplication, whereby a number of correlation results are received. Thus, in this publication, a correlation is replaced by a Fourier transform, whereby the number of calculations is reduced. According to the specification, the method accelerates positioning by a factor of 10 to 100 compared with the solutions known at the time of filing the application.